home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / redakcyjne / programy / Tlen 6.0.1.12 pl / tleninst60112.exe / sdk / TlenSources / plugin / plugin_http.h < prev    next >
C/C++ Source or Header  |  2006-08-30  |  4KB  |  139 lines

  1. #ifndef plugin_httpH
  2. #define plugin_httpH
  3. /**
  4.  * Umozliwia wyslanie zapytania http do serwera.
  5.  */
  6. #define TLEN_HTTP_CALLFUNCTION          "Tlen/HTTP/CallFunction"
  7.  
  8. /// Wyslanie zapytania
  9. #define TLEN_HTTP_MAKEREQUEST           1
  10. /// Anulowanie zapytania
  11. #define TLEN_HTTP_CANCELREQUEST         2
  12.  
  13. typedef struct {
  14.  
  15.  int structSize;        //wielko£µ struktury w bajtach
  16.  
  17.  HANDLE QueryHandle;
  18.  
  19.  char *QueryID;         //Unikalny ID, kt≤ry przypisujemy zapytaniu, ┐eby je rozpoznaµ p≤ƒniej │atwo
  20.  
  21.  char *URL;
  22.  char *Reference;
  23.  char *Cookie;
  24.  char *Accept;
  25.  char *Agent;
  26.  char *ContentTypePost;
  27.  char *PostData;
  28.  int PostDataLength;
  29.  
  30.  int Flags;
  31.  int Retries;
  32.  int Timeout;
  33.  
  34.  char *HttpClientID; //je£li chcemy aby dane requesty by│y po kolei, to u┐ywamy tego samego ID dla nich
  35.  
  36.  TLENFUNCTION CallBackFunc;
  37.  char *CallBackFuncName;
  38.  
  39.  void *OwnerData;
  40.  
  41.  //Do odpowiedzi
  42.  int ErrorCode;
  43.  
  44.  unsigned char *Data;
  45.  unsigned int DataLength;
  46.  
  47.  unsigned char *Header;
  48.  unsigned int HeaderLength;
  49.  
  50. } HttpQueryDef;
  51.  
  52. typedef struct {
  53.  
  54.  int structSize;        //wielko£µ struktury w bajtach
  55.  HttpQueryDef *HttpQuery;
  56.  
  57.  unsigned char *DataChunk;
  58.  unsigned int DataChunkLength;
  59.  
  60. } HttpDataChunkDef;
  61.  
  62. //LPARAM
  63.  
  64. /// Rodzaj zapytania
  65. #define HTTP_QUERY_FLAG_GET                     0x00000001
  66. /// Poni┐sze dwa typy przetwarzane sa tak samo
  67. #define HTTP_QUERY_FLAG_POST                    0x00000002
  68. #define HTTP_QUERY_FLAG_HEAD                    0x00000004
  69. #define HTTP_QUERY_FLAG_NOTIFYONDATACHUNKS      0x00000100
  70. #define HTTP_QUERY_FLAG_ONLYDATACHUNKS          0x00000200
  71. /// Informacja o tym ze przetwarzanie zapytania zostalo przerwane
  72. #define HTTP_QUERY_FLAG_ABORTED                 0x10000000
  73.  
  74.  
  75. //QueryID
  76.  
  77. /// Pobiera informacje o konfiguracji tlenu
  78. #define HTTP_QUERY_ID_TLENCONFIG                "Config"
  79. /// Pobiera informacje o konfiguracji reklam
  80. #define HTTP_QUERY_ID_ADINFO                    "AdInfo"
  81. /// Pobiera informacje juz o konkretnych reklamach dla poszczegolnych okien
  82. #define HTTP_QUERY_ID_MAINADINFO                "MainAdInfo"
  83. /// Pobranie informacji na temat reklamy dla okna rozmowy
  84. #define HTTP_QUERY_ID_CHATADINFO                "ChatAdInfo"
  85. /// Sprawdza czy zostala wypelniona ankieta na temat rozmow komorkowych
  86. #define HTTP_QUERY_ID_SMSPOLL                   "SMSPoll"
  87. /// Wyslanie ankiety na temat telefonow komorkowych
  88. #define HTTP_QUERY_ID_SMSPOLLSEND               "SMSPollSend"
  89. #define HTTP_QUERY_ID_APPMSG                    "AppMsg"
  90.  
  91. //HttpClientID
  92.  
  93. /// Identyfikator typu klienta
  94. #define HTTP_CLIENT_ID_TLEN                     "HttpClient/Tlen"
  95. #define HTTP_CLIENT_ID_GG                       "HttpClient/GG"
  96.  
  97.  
  98. //WPARAM
  99.  
  100. /// Wyslano zapytanie
  101. #define HTTP_EVENT_REQUESTDONE                  1
  102. /// Obecnie niewykorzystywane
  103. #define HTTP_EVENT_HEADRECV                     2
  104. #define HTTP_EVENT_DATARECV                     3
  105. #define HTTP_EVENT_DATASENT                     4
  106.  
  107. /******************************************************************************/
  108. /****                    Zapytanie do serwera                              ****/
  109. /******************************************************************************/
  110. /*
  111.  
  112. HttpQueryDef def;
  113. InitializeStruct(def);
  114. def.Flags = HTTP_QUERY_FLAG_GET;
  115. def.URL = adres serwera;
  116. def.HttpClientID = identyfikator klienta;
  117. def.QueryID = identyfikator zapytania;
  118. def.CallBackFunc = callback;
  119. def.Agent = "Mozilla/4.7 [en] (Win98; I)";
  120. def.Accept = "";
  121. tlen_functions->CallTlenFunction(hInst, TLEN_HTTP_CALLFUNCTION, (WPARAM) TLEN_HTTP_MAKEREQUEST, (LPARAM) &def);
  122.  
  123. */
  124.  
  125. /******************************************************************************/
  126. /****                    Odpowiedz serwera do serwera                      ****/
  127. /******************************************************************************/
  128. /* Odpowiedz od serwera otrzymujemy do funkcji podanej w calbacku             */
  129. /* gdzie WPARAM jest HTTP_EVENT_REQUESTDONE w przypadku poprawnej odpowiedzi  */
  130. /*
  131. int callback (WPARAM wParam, LPARAM lParam)
  132. {
  133. HttpQueryDef *def = (HttpQueryDef *) lParam;
  134. ...
  135. }
  136.  
  137. */
  138. #endif
  139.